using System.ComponentModel.DataAnnotations;

namespace 后端服务.Models
{
    /// <summary>
    /// 用户实体模型
    /// </summary>
    public class User
    {
        /// <summary>
        /// 用户ID，主键
        /// </summary>
        public int UserId { get; set; }
    
        /// <summary>
        /// 用户名，必填，最大长度50
        /// </summary>
        [Required]
        [MaxLength(50)]
        public string Username { get; set; }
    
        /// <summary>
        /// 密码哈希值，必填
        /// 存储的是经过哈希算法处理后的密码，而不是明文密码
        /// </summary>
        [Required]
        public string PasswordHash { get; set; }
    
        /// <summary>
        /// 用户创建时间
        /// </summary>
        public DateTime CreatedDate { get; set; }
        
        /// <summary>
        /// 是否为管理员用户
        /// 在数据库中以 NUMBER(1) 存储，0 表示非管理员，1 表示管理员
        /// </summary>
        [System.ComponentModel.DataAnnotations.Schema.Column(TypeName = "NUMBER(1)")]
        public bool IsAdmin { get; set; }
    }
}